﻿namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            B.Main2();
            Console.WriteLine();
            //bool isGo = true;
            //while (isGo)
            //{
            //    Console.Write("请输入数字：");
            //    var userinput = Console.ReadLine();
            //    if (int.TryParse(userinput, out int result))
            //    {
            //        int num = GetNumber(result);
            //        Console.WriteLine(num);
            //        Console.ReadLine();
            //        Console.Write("是否继续？ （y/n）");
            //        string continueInput = Console.ReadLine();
            //        isGo = (continueInput.ToLower() == "y");
            //    }
            //    else
            //    {
            //        Console.Write("请输入数字类型！");
            //    }
            //}
        }

        public abstract class A
        {
            public A() 
            {
                Console.WriteLine("A");
            }
            public virtual void Fun()
            {
                Console.WriteLine("A.Fun()");
            }
        }

        public class B : A 
        {
            public B()
            {
                Console.WriteLine("B");
            }
            public new void Fun()
            {
                Console.WriteLine("B.Fun()");
            }
            public static void Main2()
            {
                B a = new B();
                a.Fun();
            }
        }

        public static int GetNumber(int i)
        {
            if (i == 1)
            {
                return 2;
            }
            if (i == 2)
            {
                return 3;
            }
            return GetNumber(i - 1) + GetNumber(i - 2);
        }
    }
}